//
//  AppServiceInterface.h
//  EastMarket
//
//  Created by 李鹏程 on 16/10/20.
//  Copyright © 2016年 guoguo. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface AppServiceInterface : NSObject

#pragma mark -- 有关用户信息

// .注销
+(NSDictionary *)Logout;

// .找回密码
// .手机验证码登录
+(NSDictionary *)LoginByMobileCheckCode:(NSString *) mobile mobileCheckCode:(NSString *)mobileCheckCode channel:(NSInteger)channel;

/**
 文档正文
 接口地址：/api/login
 请求方法：post
 请求参数：
 phone：手机号
 password：密码
 接口返回(json)：
 success
 true|false 成功失败
 code
 -1： 信息填写不完整
 -2：用户不存在
 -3：密码不正确
 2：门店信息不完整
 1：登录成功
 msg
 提示信息
 */
// 003.登录
+(NSDictionary *)Login:(NSString *)mobile password:(NSString *)password;

/**
 文档正文
 接口方式：json
 接口地址：/api/sms/verification/$phone
 接口返回值(json):
 {
 data: {
 remainSeconds: 60,//冷却秒数
 },
 success: true,//失败成功，true是成功， false失败，
 msg: "提示消息"
 }
 */
// 004. 短信验证码发送接口
+(NSDictionary *)SendMobileCheckCode:(NSString *)mobile;

/**
 文档正文
 接口地址：/register
 请求方法：post
 请求参数：
 *phone：手机号
 *verifyCode：手机验证码
 *password：密码
 *invitationCode：邀请码
 返回值：
 success: true|false
 code：
 -1：请求参数不完整
 -2：手机验证码验证失败
 -3：手机号已经存在
 -4：邀请码不存在
 1： 注册成功
 msg：提示信息
 注册成功后，会自动登录。
 */
// 005 用户注册接口API
+(NSDictionary *)Register:(NSString *)phone password:(NSString *)password verifyCode:(NSString *)verifyCode invitationCode:(NSString *)invitationCode;

/**
 文档正文
 接口地址：/api/user
 方法：get
 接口返回：
 success
 code
 msg
 data
 private Long id;
 private String phone;
 private String shopName;
 private String contactName;
 private String shopAddress;
 private String consignee;
 private String region;
 */
// 006. 获取用户信息接口
+(NSDictionary *)GetCurrentAccountInfo;


/**
 文档正文
 地址：/api/user
 方法：PUT
 参数：
 shopName
 contactName
 shopAddress
 consignee 收货人
 region  省市区
 返回值：
 code
 success
 msg
 */
// 007. 更新用户信息接口
+(NSDictionary *)updateCurrentAccountInfo:(NSString *)shopName contactName:(NSString *)contactName shopAddress:(NSString *)shopAddress consignee:(NSString *)consignee region:(NSString *)region;

#pragma mark -- 有关商品信息
/**
 文档正文
 地址：/api/item/search
 参数：
 name 商品关键字
 productCatePath 类目路径
 order 排序规则
 page 页数 默认为1
 pageSize 每页数量 默认为20
 */
// 008. 商品搜索接口
+(NSDictionary *)productOfSearch:(NSString *)name productCatePath:(NSString *)productCatePath order:(NSString *)order page:(NSInteger)page pageSize:(NSInteger)pageSize;



/**
 文档正文
 请求地址：/api/productCate/list
 */
// 009. 类目树接口
+(NSDictionary *)getProductCate;


/**
 购物车页面接口
 地址：/api/cart
 */
// 010.购物车页面
+(NSDictionary *)getCartProducts;

// 011. 购物车商品新增接口
/**
 地址：/api/cartItem
 参数：
 itemId  商品id
 num 数量
 */
+(NSDictionary *)cartItem:(NSString *)itemId itemNum:(NSInteger)itemNum;


#pragma mark -- 有关订单接口
// 012. 订单创建页面接口
/**
 POST：
 http://localhost:8080/api/order/create/page
 参数：
 itemIdList  多个itemid 用 逗号隔开 如  itemIdList=123,456
 numList  对应itemId的数量，多个用逗号隔开 如 numList=12,34
 */
+(NSDictionary *)OrderCreatePage:(NSString *)itemIdList numList:(NSString *)numList;

// 013. 订单创建接口
/**
 地址：
 /api/order/create
 参数：
 data  json字符串，格式为：
 {  "itemInfoList": [ //商品信息
    {  "itemId": "32151",  //商品id  "num": "2"  //商品数量  }
   ],   "orderInfoList": [ //订单信息
    {  "sellerId": "18",  //供应商id  "payType": "ONLINE",  //支付方式  "expectedDeliveryTime": "2016-11-01" //期望送货日期   }
 ]
 }
 */
+(NSDictionary *)OrderCreate:(NSString *)data;


// 014. 订单列表界面
/**
 地址：/api/ucenter/orderList
 参数：
 status  订单状态 可选值：WAIT_PAY  WAIT_VERIFY  VERIFIED  WAIT_CANCEL,CANCELED
 */
+(NSDictionary *)orderList:(NSString *)status page:(NSInteger)page pageSize:(NSInteger)pageSize;

// 015. 订单详情api接口
/**
 文档正文
 地址：/api/order/get
 参数：
 id 订单id
 */
+(NSDictionary *)orderDetail:(NSString *)orderId;

// 016. 删除订单接口
/**
 文档正文
 地址： /api/order/del
 参数：
 id
 */
+(NSDictionary *)orderDelete:(NSString *)orderId;

// 017. 取消订单接口
/**
 文档正文
 地址： /api/order/cancel
 参数：
 id
 */
+(NSDictionary *)orderCancle:(NSString *)orderId;


// 18 首页接口
/**
 文档正文
 /api/index
 */
+(NSDictionary *)GetIndexPage;

// 19 找回密码接口
/**
文档正文
/api/forgetPwd
参数：
phone 手机号
verifyCode 手机验证码
password 新密码
返回code的
-1 信息输入不完整
-2 验证码错误
-3 用户不存在
*/
+(NSDictionary *)ForgetPassword:(NSString *)mobile password:(NSString *)password mobileCheckCode:(NSString *)mobileCheckCode;
// 20 修改密码接口
/**
 文档正文
 地址：/api/modifyPwd
 参数：
 originalPassword  原密码
 password 新密码
 返回code：
 -1 原密码不正确
 */
+(NSDictionary *)ModifyPassword:(NSString *)originalPassword password:(NSString *)password;

//21 供应商列表api
/**
 
 文档正文
 /api/seller/list
 */
+(NSDictionary *)GetSellerList;

//22 添加供应商接口
/**
 文档正文
 /api/seller/addCustomer
 参数：
 invitationCode   邀请码
 */
+(NSDictionary *)AddCustomer:(NSString *)invitationCode;

//23 供应商信息获取接口
/**
 文档正文
 /api/seller/get
 
 参数： id  供应商id
 */
+(NSDictionary *)GetSellerInfo:(NSString *)sellerId;
+(NSDictionary *)productOfSearchWithSeller:(NSString *)name productCatePath:(NSString *)productCatePath order:(NSString *)order page:(NSInteger)page pageSize:(NSInteger)pageSize sellerId:(NSString *)sellerId;


// 24 常用料查询接口
/**
 文档正文
 /api/customerItem/list
 参数：
 productCatePath 类目路径
 page 页数
 pageSize
 */
+(NSDictionary *)GetCustomerList:(NSString *)productCatePath page:(NSInteger)page pageSize:(NSInteger)pageSize;

// 25 常用料新增接口
/**
 文档正文
 /api/customerItem/add
 参数：
 itemId
 */
+(NSDictionary *)CustomerItemAdd:(NSString *)itemId;

// 26 常用料删除接口
/**
 文档正文
 /api/customerItem/del
 参数
 1. itemId
 */
+(NSDictionary *)CustomerItemDelete:(NSString *)itemId;



// 购物车中选中与取消
+(NSDictionary *)CartItemCheck:(NSString *)checkedIds;
+(NSDictionary *)CartItemUnCheck:(NSString *)checkedIds;
@end
